Micron Document
██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝


🬧 The NomadNet Encyclopedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

🔍 Search

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

INTERCAL
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
mwbaINTERCAL (mwbqsigla per mwbgmwbwCompiler Language With No Pronounceable Acronym) è stato il primo mwcalinguaggio di programmazione esoterico, sviluppato nel 1972 da Don Woods e James Lyon come mwcqparodia degli altri mwcglinguaggi di programmazione dell'epoca come mwcwFORTRAN, mwdaBASIC e mwdqALGOL.cite-ref-devx-1-0[1]cite-ref-0-2-0[2]cite-ref-uky-3-0[3]cite-ref-man-4-0[4] Tra gli elementi esoterici di questo linguaggio vi sono degli errori che occorrono se il programmatore non è abbastanza o è troppo gentile e la presenza in alcune sue varianti dell'istruzione mwhgCOMEFROM, inverso della deprecata mwhwGOTO.cite-ref-medium-5-0[5]

Contents

Storia
Esempio
Note

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Storia

INTERCAL è stato sviluppato nel 1972 da due studenti dell'mwjwUniversità di Princeton, Don Woods e James Lyon.cite-ref-devx-1-1[1]cite-ref-0-2-1[2]cite-ref-uky-3-1[3]cite-ref-man-4-1[4]

La versione iniziale del linguaggio sviluppata all'Università di Princeton funzionava mediante mwoqschede perforate con un sistema di codifica mwogEBCDIC.cite-ref-6[6]

Venne successivamente sviluppata una versione per computer moderni, detta implementazione Atari, che utilizza il sistema di codifica mwqaASCII e di conseguenza sostituisce alcuni caratteri.cite-ref-7[7]

Descrizione

Nella sua sintassi più minimale, il linguaggio prevede che ogni istruzione, su singola riga, sia preceduta dall'identificatore mwrwDO, mwsaPLEASE DO o mwsqPLEASE.cite-ref-uky-3-2[3]cite-ref-8[8]

Le mwuwvariabili non devono essere dichiarate, possono avere nomi solamente numerici e possono essere di diversi tipi (numeri interi in 16 mwvabit, numeri interi in 32 bit, mwvqarray di numeri interi in 16 bit o array di numeri interi in 32 bit). Ogni tipo possiede un identificatore differente (rispettivamente mwvg., mwvw:, mwwa,, mwwq;). Il valore viene assegnato alle variabili mediante l'operatore mwwg<-. L'mwwwinput avviene attraverso mwxaWRITE IN e l'mwxqoutput attraverso mwxgREAD OUT.cite-ref-uky-3-3[3]cite-ref-p9-9-0[9]

Il compilatore restituisce un errore se mwaaPLEASE (in italiano, "perfavore") appare meno di 4 o più di 5 volte, perché il programmatore è stato poco o eccessivamente gentile.cite-ref-uky-3-4[3]cite-ref-medium-5-1[5]

Per terminare un programma è necessario usare mwcgPLEASE GIVE UP (in italiano, "perfavore arrenditi").cite-ref-uky-3-5[3]cite-ref-p9-9-1[9]

Esempio

DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
PLEASE DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP

Questo esempio stampa a schermo "Hello world!".cite-ref-medium-5-2[5]

Note

cite-note-devx-11. mwav4(mwav8mwawaEN) mwawemwawiINTERCAL, su mwawmDevX. mwawqURL consultato l'11 marzo 2024.
cite-note-0-22. mwawo(mwawsmwawwEN) mwaw0mwaw4INTERCAL, su mwaw8techopedia.com.
cite-note-uky-33. mwax0(mwax4mwax8EN) mwayamwayeINTERCAL (mwayimwaymPDF), su mwayqcs.uky.edu.
cite-note-man-44. mwayomwaysWoods,mwayw p. 1.
cite-note-medium-55. mwazq(mwazumwazyEN) Vitaliy Mokosiy, mwazcmwazgWeird programming languages, su mwazkMedium, 17 luglio 2017. mwazoURL consultato l'11 marzo 2024.
cite-note-66. mwaz4mwaz8Woods,mwaaa p. 5.
cite-note-77. mwaaqmwaauWoods,mwaay p. 19.
cite-note-88. mwaaomwaasWoods,mwaaw p. 6.
cite-note-p9-99. mwabimwabmWoods,mwabq p. 9.

Bibliografia

• citerefwoodsDon Woods e James Lyon, The INTERCAL Programming Language Reference Manual (PDF), 1973.

Altri progetti

Altri progetti

• Wikimedia Commons

• Wikimedia Commons contiene immagini o altri file su INTERCAL